package com.shf.service;

import com.baomidou.mybatisplus.extension.service.IService;

import com.shf.domain.ResponseResult;
import com.shf.domain.entity.User;

/**
 * @author 35238
 * @date 2023/7/25 0025 17:48
 */
public interface UserService extends IService<User> {
    /**
     * 查询个人信息
     * @return
     */
    ResponseResult userInfo();

    /**
     * 更新个人信息
     * @param user
     * @return
     */
    ResponseResult updateUserInfo(User user);

    /**
     * 注册用户
     * @param user
     * @return
     */
    ResponseResult register(User user);

    /**
     * 查询用户列表
     * @param user
     * @param pageNum
     * @param pageSize
     * @return
     */
    ResponseResult selectUserPage(User user, Integer pageNum, Integer pageSize);

   /****************************新增用户**************************************/
    /**
     * 检测用户名是否为空
     * @param userName  用户名
     * @return
     */
    boolean checkUserNameUnique(String userName);

    /**
     * 检查手机号
     * @param user
     * @return
     */
    boolean checkPhoneUnique(User user);

    /**
     * 检查邮箱
     * @param user
     * @return
     */
    boolean checkEmailUnique(User user);
    /**
     *  ResponseResult addUser(User user);
     * @param user
     * @return
     */
    ResponseResult addUser(User user);

    /**
     * 修改用户-②更新用户信息
     * @param user
     */
    void updateUser(User user);

    /**
     * 修改用户-③修改用户状态
     * @param userId
     * @param status
     */
    void changeStatus(Long userId, String status);
}
